#!/usr/bin/env python

# entertainer-tray-icon - System Tray Icon for Entertainer backend.
# Copyright (C) 2007 Lauri Taimila
# 
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# 
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

import sys
import os
import gobject
import string
import ConfigParser
from ConfigParser import ParsingError

try:
 	import pygtk
  	pygtk.require("2.4")
except:
  	pass
try:
	import gtk
except:
	sys.exit(1)

from backend.core.message import Message
from backend.core.message_type_priority import MessageType, MessagePriority
from backend.core.message_bus_proxy import MessageBusProxy
from utils.system_tray_icon import SystemTrayIcon

message_dict = { MessageType.RECORDING_STARTED : MessagePriority.VERY_LOW,
                 MessageType.RECORDING_STOPPED : MessagePriority.VERY_LOW}

try:
    gobject.threads_init()
    gtk.gdk.threads_init()
    
    # Create tray icon
    gtk.gdk.threads_enter()
    tray_icon = SystemTrayIcon(True)
    gtk.gdk.threads_leave()
    
    # Open connection to backend
    proxy = MessageBusProxy(message_dict, tray_icon,"system-tray-icon")
    proxy.connectToMessageBus()
    proxy.start()
    tray_icon.setMessageBusProxy(proxy)

except:
    print "Backend is not running. Start backend and try again."
    sys.exit(1)

gtk.gdk.threads_enter()
gtk.main()
gtk.gdk.threads_leave()
